#!/usr/bin/python3
# -*- coding: UTF-8 -*-

"""
定义：
    模块是一个包含Python定义和语句的文件。文件名就是模块名后跟文件后缀.py。
在模块内部，模块名(作为一个字符串)可以通过全局变量__name__的值获得。

其它：
    模块可以包含可执行的语句以及函数定义。这些语句用于初始化模块。它们仅在模块第一次在import语句中被导入时执行。
    模块可以导入其它模块，习惯上但不要求把所有import语句放在模块的开头。
    被导入的模块名存放在调入模块的全局符号表中。
    处于效率考虑，每个模块在每个解释器会话中纸杯导入一次。因此，如果更改了模块，必须重新启动解释器，或者如果只是一个交互式地测试的模块，请使用 importlib.reload(modulename)。

以脚本方式执行模块:
    python fibo.py <arguments>
"""
# 使用 from module_path import 引入 Fibo 模块，然后就可以调用 Fibo 模快中的函数
from modules import Fibo
# from modules.Fibo import fib, fib2
# from modules.Fibo import *
# import modules.Fibo as fib
# from modules.Fibo import fib as fibonacci
# 使用模块名调用模块内的函数
Fibo.fib(1000)
Fibo.fib2(1000)
# 打印模块信息
print(Fibo.__name__)


if __name__ == "__main__":
    import sys
    Fibo.fib(int(sys.argv[1]))
